home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1995 August: Tool Chest / Dev.CD Aug 95 TC / Dev.CD Aug 95 TC.toast / Tool Chest / Interfaces / UniversalInterfaces 2.1B1 / CIncludes / CMAcceleration.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-04-18  |  4.4 KB  |  135 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        CMAcceleration.h
  3.  
  4.      Contains:    ColorSync 2.0 Acceleration Component Interfaces
  5.  
  6.      Version:    Technology:    ColorSync 2.0
  7.                  Package:    Universal Interfaces 2.1ß1 in “MPW Prerelease” on ETO #17
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs@applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. */
  19.  
  20. #ifndef __CMACCELERATION__
  21. #define __CMACCELERATION__
  22.  
  23.  
  24. #ifndef __MEMORY__
  25. #include <Memory.h>
  26. #endif
  27. /*    #include <Types.h>                                            */
  28. /*        #include <ConditionalMacros.h>                            */
  29. /*    #include <MixedMode.h>                                        */
  30.  
  31. #ifndef __COMPONENTS__
  32. #include <Components.h>
  33. #endif
  34.  
  35. #ifndef __CMAPPLICATION__
  36. #include <CMApplication.h>
  37. #endif
  38. /*    #include <Quickdraw.h>                                        */
  39. /*        #include <QuickdrawText.h>                                */
  40. /*    #include <Files.h>                                            */
  41. /*        #include <OSUtils.h>                                    */
  42. /*    #include <Printing.h>                                        */
  43. /*        #include <Errors.h>                                        */
  44. /*        #include <Dialogs.h>                                    */
  45. /*            #include <Windows.h>                                */
  46. /*                #include <Events.h>                                */
  47. /*                #include <Controls.h>                            */
  48. /*                    #include <Menus.h>                            */
  49. /*            #include <TextEdit.h>                                */
  50. /*    #include <CMICCProfile.h>                                    */
  51.  
  52. #ifdef __cplusplus
  53. extern "C" {
  54. #endif
  55.  
  56. #if PRAGMA_ALIGN_SUPPORTED
  57. #pragma options align=mac68k
  58. #endif
  59.  
  60. #if PRAGMA_IMPORT_SUPPORTED
  61. #pragma import on
  62. #endif
  63.  
  64.  
  65. enum {
  66.     cmAccelerationInterfaceVersion = 1
  67. };
  68.  
  69. /*–––––––––––––––––––––––––––––––––––––– Component Type*/
  70. enum {
  71.     cmAccelerationComponentType    = 'csac'
  72. };
  73.  
  74. /*–––––––––––––––––––––––––––––––––––––– Required Component function selectors*/
  75. enum {
  76.     cmLoadTables                = 0,
  77.     cmCalculateData                = 1
  78. };
  79.  
  80. /*–––––––––––––––––––––––––––––––––––––– table data for acceleration component*/
  81. struct CMAccelerationTableData {
  82.     long                            inputLutEntryCount;            /* count of entries for input lut for one dimension*/
  83.     long                            inputLutWordSize;            /* count of bits of each entry ( e.g. 16 for WORD )*/
  84.     Handle                            inputLut;                    /* handle to input lut*/
  85.     long                            outputLutEntryCount;        /* count of entries for output lut for one dimension    */
  86.     long                            outputLutWordSize;            /* count of bits of each entry ( e.g. 8 for BYTE )*/
  87.     Handle                            outputLut;                    /* handle to output lut*/
  88.     long                            colorLutInDim;                /* input dimension  ( e.g. 3 for LAB ; 4 for CMYK )*/
  89.     long                            colorLutOutDim;                /* output dimension ( e.g. 3 for LAB ; 4 for CMYK )*/
  90.     long                            colorLutGridPoints;            /* count of gridpoints for color lut ( for one Dimension )    */
  91.     long                            colorLutWordSize;            /* count of bits of each entry ( e.g. 8 for BYTE )*/
  92.     Handle                            colorLut;                    /* handle to color lut*/
  93.     CMBitmapColorSpace                inputColorSpace;            /* packing info for input*/
  94.     CMBitmapColorSpace                outputColorSpace;            /* packing info for output*/
  95.     void                            *userData;
  96.     unsigned long                    reserved1;
  97.     unsigned long                    reserved2;
  98.     unsigned long                    reserved3;
  99.     unsigned long                    reserved4;
  100.     unsigned long                    reserved5;
  101. };
  102. typedef struct CMAccelerationTableData CMAccelerationTableData, *CMAccelerationTableDataPtr, **CMAccelerationTableDataHdl;
  103.  
  104. /*–––––––––––––––––––––––––––––––––––––– calc data for acceleration component*/
  105. struct CMAccelerationCalcData {
  106.     long                            pixelCount;                    /* count of input pixels*/
  107.     Ptr                                inputData;                    /* input array*/
  108.     Ptr                                outputData;                    /* output array*/
  109.     unsigned long                    reserved1;
  110.     unsigned long                    reserved2;
  111. };
  112. typedef struct CMAccelerationCalcData CMAccelerationCalcData, *CMAccelerationCalcDataPtr, **CMAccelerationCalcDataHdl;
  113.  
  114. /*————————————————————————————————————————————————————————————————————————————————————————————————*/
  115. /*                A c c e l e r a t i o n   C o m p o n e n t   I n t e r f a c e s*/
  116. /*————————————————————————————————————————————————————————————————————————————————————————————————*/
  117. extern pascal CMError CMAccelerationLoadTables(ComponentInstance CMSession, CMAccelerationTableDataPtr tableData)
  118.  FIVEWORDINLINE(0x2F3C, 0x0004, 0x0000, 0x7000, 0xA82A);
  119. extern pascal CMError CMAccelerationCalculateData(ComponentInstance CMSession, CMAccelerationCalcDataPtr calcData)
  120.  FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
  121.  
  122. #if PRAGMA_IMPORT_SUPPORTED
  123. #pragma import off
  124. #endif
  125.  
  126. #if PRAGMA_ALIGN_SUPPORTED
  127. #pragma options align=reset
  128. #endif
  129.  
  130. #ifdef __cplusplus
  131. }
  132. #endif
  133.  
  134. #endif /* __CMACCELERATION__ */
  135.